Sein internationales Debüt gab Hofer, der für den SV Innsbruck-Bergisel startet, am 26. Juli 2008 bei einem FIS-Nachwuchsspringen in Hinterzarten. Knapp zwei Jahre später stand er beim Junioren-Springen von Eisenerz als Zweiter erstmals auf dem Podium. Auch beim folgenden Teamspringen einen Tag später stand er auf dem Treppchen. Ab September 2011 startete Hofer im Skisprung-Alpencup. Nach eher durchwachsenen Ergebnissen in dieser Serie ging er ab März 2012 im FIS-Cup an den Start. Bereits im ersten Springen auf der Großen Olympiaschanze in Garmisch-Partenkirchen erreichte er mit Platz sieben eine Top-10-Platzierung. Beim Europäischen Olympischen Winter-Jugendfestival 2013 in Râșnov holte er sowohl im Einzel als auch im Mannschaftswettbewerb von der HS100 und im Mixed-Team Bronze.[1]
Nach weiteren Springen im FIS- und Alpencup gab Hofer im Februar 2014 sein Debüt im Skisprung-Continental-Cup. Nachdem er im ersten Springen von Seefeld in Tirol noch disqualifiziert wurde, beendete er das zweite am Folgetag als 24. innerhalb der Punkteränge. Auch in Kranj im Juli sammelte er einen Continental-Cup-Punkt. Im Winter 2014/15 wechselte Hofer zwischen den Serien mehrmals, erreichte aber in keiner den Durchbruch.
Im Winter 2015/16 konnte er mit guten Platzierungen im FIS- und Alpencup erneut auf sich aufmerksam machen und bekam im Januar 2016 erneut einen Startplatz im Continental Cup. Nach einem zweiten Platz im ersten Springen von Garmisch-Partenkirchen feierte er am Folgetag seinen ersten Sieg in dieser Serie.[2][3][4] In Willingen gewann er ebenfalls das zweite Springen. Im ersten war Hofer als Sechster noch am Podium vorbeigesprungen. Eine Woche später bekam er in Zakopane erstmals einen Startplatz für die Qualifikation zum Skisprung-Weltcup. Nachdem er diese als 18. beendete, wurde er am 24. Januar 2016 bei seinem Weltcup-Debüt 23. und sammelte damit auch erste Weltcup-Punkte.
Hofer gab Mitte Februar 2020 sein Karriereende bekannt, nachdem er wenige Tage zuvor als Vorspringer am Kulm seine letzten Flüge absolviert hatte.[5]